/*
 * Project    : Tux-In-Cache
 *
 * Home       : http://code.google.com/p/tuxincache
 *
 * Subsysystem: InRAM RAM cache subsystem
 *
 * Source File: inram.h
 *
 * Description:
 * InRAM is a RAM based swap disk used a cache for Tux-In-Cache.
 * It will be implemented as a block device. The application files
 * will be stored as a pages, which will be compressed to save
 * RAM space.
 *
 * License: GNU General Public License (version 3)
 *
 * Copyright (C) 2009  Mohit Soni
 */
 
#ifndef _INRAM_H_
#define _INRAM_H_

/* Default space used by InRAM - 25% of overall RAM space */
#define INRAM_SIZE_DEFAULT		25

typedef struct inram_memory {
	u32		mem_total;		/* Capacity of RAM */
	u32		mem_free;		/* Amount of free RAM space */
	u32		mem_cache;		/* Amount of memory used for cache */
	
	u32		mem_pages_in;
	u32		men_pages_out;
} inram_memory_table;

/* Gets information about RAM */
void get_mem_info (inram_memory *irm);

#endif